import logging

from src.util.Service import *


# 获取所有的配置信息(分页 所有信息)
def getConfigAll(con_type: str or list[str]):
    Configs = Config.getAllConfig(None, {"type": con_type})
    return Configs


# 根据key获取所有的配置信息
def getConfigKey(key: str, c_type: str = "user"):
    Configs = Config.getConfigByKey(key, c_type)
    return Configs


# 修改系统配置信息
def updateSysConfig(k: dict):
    try:
        database.begin()
        for key, val in k.items():
            Config.updateConfigByKey(key, val, ['sys', 'public'])
        database.commit()
        return True
    except Exception as e:
        logging.error(e)
        database.rollback()
        return False


# 用户修改个人配置信息
def updateConfigKey(key: str, k):
    # 底部代码已经做了限制 只能修改值
    return Config.updateConfigByKey(key, k)


# 删除配置信息
def delConfig(cid: list[str]):
    return Config.delConfig(cid)


# 添加配置信息
def addConfig(data: dict):
    return Config.addConfig(data)
